<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:144a7b27-3b8b-48a3-8050-1ec9679e217e(ASN.intentions)">
  <persistence version="3" />
  <refactoringHistory />
  <language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
  <language namespace="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" />
  <language namespace="d7a92d38-f7db-40d0-8431-763b0c3c9f20(jetbrains.mps.lang.intentions)" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590283(jetbrains.mps.lang.core.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902bc(jetbrains.mps.lang.sharedConcepts.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902c1(jetbrains.mps.baseLanguage.constraints)" version="83" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ba(jetbrains.mps.lang.sharedConcepts.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959028c(jetbrains.mps.lang.structure.constraints)" version="11" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590353(jetbrains.mps.lang.intentions.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902db(jetbrains.mps.baseLanguage.blTypes.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959034f(jetbrains.mps.lang.intentions.constraints)" version="1" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959034b(jetbrains.mps.lang.quotation.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959033d(jetbrains.mps.lang.annotations.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590334(jetbrains.mps.baseLanguage.closures.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590328(jetbrains.mps.baseLanguage.collections.constraints)" version="6" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ae(jetbrains.mps.lang.typesystem.constraints)" version="17" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590340(jetbrains.mps.lang.pattern.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902fb(jetbrains.mps.lang.smodel.constraints)" version="21" />
  <languageAspect modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902a4(jetbrains.mps.lang.actions.constraints)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902a8(jetbrains.mps.lang.actions.structure)" version="23" />
  <devkit namespace="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
  <maxImportIndex value="1" />
  <import index="1" modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="2455424604185241895">
    <property name="name" value="NamedNumber_UseNumber" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="Lists.NamedNumberList" />
    <link role="forConcept" targetNodeId="1.8702535492065731464" resolveInfo="NamedNumber" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="2455424604185241896">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241897">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241900">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2455424604185241901">
            <property name="value" value="Replace with signed number" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="2455424604185241898">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241899">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241911">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241918">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241913">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604185241912" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2455424604185241917">
                <link role="property" targetNodeId="1.2455424604185241886" resolveInfo="isNumberAsValue" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="2455424604185241922">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2455424604185241924">
                <property name="value" value="true" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="2455424604185241902">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241903">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241925">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="2455424604185241926">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241929">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604185241928" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2455424604185241933">
                <link role="property" targetNodeId="1.2455424604185241886" resolveInfo="isNumberAsValue" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="2455424604185241934">
    <property name="name" value="NamedNumber_UseDefinedValue" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="Lists.NamedNumberList" />
    <link role="forConcept" targetNodeId="1.8702535492065731464" resolveInfo="NamedNumber" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="2455424604185241935">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241936">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241939">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2455424604185241940">
            <property name="value" value="Replace with defined value" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="2455424604185241937">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241938">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241950">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241961">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241952">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604185241951" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2455424604185241956">
                <link role="property" targetNodeId="1.2455424604185241886" resolveInfo="isNumberAsValue" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="2455424604185241965">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2455424604185241967">
                <property name="value" value="false" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="2455424604185241941">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185241942">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185241943">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185241945">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604185241944" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2455424604185241949">
              <link role="property" targetNodeId="1.2455424604185241886" resolveInfo="isNumberAsValue" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="2455424604187243584">
    <property name="name" value="Constraint_AddExceptionSpec" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ConstrainedType" />
    <link role="forConcept" targetNodeId="1.5803918984628927443" resolveInfo="Constraint" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="2455424604187243585">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243586">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243589">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2455424604187243590">
            <property name="value" value="Add Exception Spec" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="2455424604187243587">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243588">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243605">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243612">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243607">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604187243606" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604187243611">
                <link role="link" targetNodeId="1.2455424604187168259" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2455424604187243616" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="2455424604187243591">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243592">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243593">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243600">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243595">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604187243594" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604187243599">
                <link role="link" targetNodeId="1.2455424604187168259" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="2455424604187243604" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="2455424604187243618">
    <property name="name" value="Constraint_RemoveExceptionSpec" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ConstrainedType" />
    <link role="forConcept" targetNodeId="1.5803918984628927443" resolveInfo="Constraint" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="2455424604187243619">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243620">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243623">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2455424604187243624">
            <property name="value" value="Remove Exception Spec" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="2455424604187243621">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243622">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243639">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2455424604187243650">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2455424604187243653" />
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243641">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604187243640" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604187243645">
                <link role="link" targetNodeId="1.2455424604187168259" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="2455424604187243625">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187243626">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187243627">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243634">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187243629">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2455424604187243628" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604187243633">
                <link role="link" targetNodeId="1.2455424604187168259" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="2455424604187243638" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8935930502166002644">
    <property name="name" value="NamedBit_UseNumber" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="Lists.NamedBitList" />
    <link role="forConcept" targetNodeId="1.7401774347124493332" resolveInfo="NamedBitNumber" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8935930502166002645">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002646">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002649">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8935930502166002650">
            <property name="value" value="Use Number" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8935930502166002647">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002648">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002668">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8935930502166002675">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8935930502166002670">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8935930502166002669" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8935930502166002674">
                <link role="property" targetNodeId="1.8935930502165927319" resolveInfo="isNumber" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="8935930502166002679">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8935930502166002681">
                <property name="value" value="true" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8935930502166002651">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002652">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002659">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="8935930502166002660">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8935930502166002663">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8935930502166002662" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8935930502166002667">
                <link role="property" targetNodeId="1.8935930502165927319" resolveInfo="isNumber" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8935930502166002682">
    <property name="name" value="NamedBit_UseDefinedValue" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="Lists.NamedBitList" />
    <link role="forConcept" targetNodeId="1.7401774347124493332" resolveInfo="NamedBit" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8935930502166002683">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002684">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002687">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8935930502166002688">
            <property name="value" value="Use Defined Value" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8935930502166002685">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002686">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002698">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8935930502166002705">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8935930502166002708">
              <property name="value" value="false" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8935930502166002700">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8935930502166002699" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8935930502166002704">
                <link role="property" targetNodeId="1.8935930502165927319" resolveInfo="isNumber" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8935930502166002689">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166002690">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166002691">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8935930502166002693">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8935930502166002692" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8935930502166002697">
              <link role="property" targetNodeId="1.8935930502165927319" resolveInfo="isNumber" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911235955">
    <property name="name" value="FixedTypeValueFieldSpec_AddUnique" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911235956">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235957">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911235960">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911235961">
            <property name="value" value="Mark as UNIQUE" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911235958">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235959">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911235975">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911235983">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911235986">
              <property name="value" value="true" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911235977">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911235976" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383911235982">
                <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911235962">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235963">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911235964">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="5019664383911235971">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911235974">
              <property name="value" value="false" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911235966">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911235965" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383911235970">
                <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911235987">
    <property name="name" value="FixedTypeValueFieldSpec_RemoveUnique" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911235988">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235989">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911235992">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911235993">
            <property name="value" value="Remove UNIQUE mark" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911235990">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235991">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911236003">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911236010">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911236013">
              <property name="value" value="false" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911236005">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911236004" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383911236009">
                <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911235994">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911235995">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911235996">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911235998">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911235997" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383911236002">
              <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911537520">
    <property name="name" value="IFieldSpec_AddOptional" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911537521">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537522">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537525">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911537526">
            <property name="value" value="Mark as OPTIONAL" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911537523">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537524">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537548">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911537555">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911537558">
              <property name="value" value="true" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537550">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537549" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897458">
                <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911537527">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537528">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5019664383911537529">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="5019664383911537531">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="5019664383911537539">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537543">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537542" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897457">
                  <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537534">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537533" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897456">
                  <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911537571">
    <property name="name" value="IFieldSpec_RemoveOptional" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911537572">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537573">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537576">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911537577">
            <property name="value" value="Remove OPTIONAL mark" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911537574">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537575">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537587">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911537594">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911537597">
              <property name="value" value="false" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537589">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537588" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897463">
                <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911537578">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537579">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537580">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537582">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537581" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897462">
              <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911537598">
    <property name="name" value="IFieldSpec_AddDefault" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911537599">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537600">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537603">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911537604">
            <property name="value" value="Add Default mark" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911537601">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537602">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537625">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911537632">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911537635">
              <property name="value" value="true" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537627">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537626" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897461">
                <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911537605">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537606">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537607">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="5019664383911537608">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="5019664383911537616">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537620">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537619" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897460">
                  <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537611">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537610" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897459">
                  <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="5019664383911537648">
    <property name="name" value="IFieldSpec_RemoveDefault" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="forConcept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpec" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="5019664383911537649">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537650">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537653">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5019664383911537654">
            <property name="value" value="Remove Default Value" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="5019664383911537651">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537652">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537664">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5019664383911537671">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="5019664383911537674">
              <property name="value" value="false" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537666">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537665" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897455">
                <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="5019664383911537655">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383911537656">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383911537657">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383911537659">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="5019664383911537658" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5019664383912897454">
              <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="1932240741513182602">
    <property name="name" value="ElementSetSpecs_AddExtensionMarker" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ConstrainedType.ConstraintSpecification.ElementSetSpecification" />
    <link role="forConcept" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecs" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="1932240741513182603">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182604">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182607">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1932240741513182608">
            <property name="value" value="Add Extension Marker" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="1932240741513182605">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182606">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182620">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1932240741513182627">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="1932240741513182630">
              <property name="value" value="true" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182622">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182621" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1932240741513182626">
                <link role="property" targetNodeId="1.1932240741513043516" resolveInfo="isWithExtension" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="1932240741513182609">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182610">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182611">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="1932240741513182612">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182615">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182614" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1932240741513182619">
                <link role="property" targetNodeId="1.1932240741513043516" resolveInfo="isWithExtension" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="1932240741513182631">
    <property name="name" value="ElementSetSpecs_RemoveExtensionMarker" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ConstrainedType.ConstraintSpecification.ElementSetSpecification" />
    <link role="forConcept" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecs" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="1932240741513182632">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182633">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182636">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1932240741513182637">
            <property name="value" value="Remove Extension Marker" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="1932240741513182634">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182635">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182661">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1932240741513182668">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="1932240741513182671">
              <property name="value" value="false" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182663">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182662" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1932240741513182667">
                <link role="property" targetNodeId="1.1932240741513043516" resolveInfo="isWithExtension" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="1932240741513182638">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182639">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182640">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741513182647">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182656">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182651">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182650" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741513182655">
                  <link role="link" targetNodeId="1.1932240741513031325" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="1932240741513182660" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182642">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182641" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1932240741513182646">
                <link role="property" targetNodeId="1.1932240741513043516" resolveInfo="isWithExtension" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="1932240741513182672">
    <property name="name" value="ElementSetSpecs_AddAdditionalsElements" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ConstrainedType.ConstraintSpecification.ElementSetSpecification" />
    <link role="forConcept" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecs" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="1932240741513182673">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182674">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182677">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1932240741513182678">
            <property name="value" value="Add Additional Elements" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="1932240741513182675">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182676">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182702">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182709">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182704">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182703" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741513182708">
                <link role="link" targetNodeId="1.1932240741513031325" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="1932240741513182713" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="1932240741513182679">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182680">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182681">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741513182688">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182697">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182692">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182691" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741513182696">
                  <link role="link" targetNodeId="1.1932240741513031325" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="1932240741513182701" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182683">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182682" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1932240741513182687">
                <link role="property" targetNodeId="1.1932240741513043516" resolveInfo="isWithExtension" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="1932240741513182715">
    <property name="name" value="ElementSetSpecs_AddAdditionalsElements" />
    <property name="package" value="BuiltinType.ConstrainedType.ConstraintSpecification.ElementSetSpecification" />
    <link role="forConcept" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecs" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="1932240741513182716">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182717">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182720">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1932240741513182721">
            <property name="value" value="Remove Additional Elements" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="1932240741513182718">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182719">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182736">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1932240741513182747">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="1932240741513182750" />
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182738">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182737" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741513182742">
                <link role="link" targetNodeId="1.1932240741513031325" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="1932240741513182722">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741513182723">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741513182724">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182731">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741513182726">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1932240741513182725" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741513182730">
                <link role="link" targetNodeId="1.1932240741513031325" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="1932240741513182735" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8251251793611812277">
    <property name="name" value="ChoiceType_AddExtension" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ChoiceType" />
    <link role="forConcept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8251251793611812278">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812279">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812282">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8251251793611812283">
            <property name="value" value="Add Extension" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8251251793611812280">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812281">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793612854916">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854927">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854918">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793612854917" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="8251251793612854922">
                <link role="link" targetNodeId="1.8251251793611812086" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="8251251793612854931" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8251251793611812284">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812285">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793612854903">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854910">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854905">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793612854904" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="8251251793612854909">
                <link role="link" targetNodeId="1.8251251793611812086" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="8251251793612854915" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8251251793611812306">
    <property name="name" value="ChoiceType_RemoveExtension" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ChoiceType" />
    <link role="forConcept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8251251793611812307">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812308">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812311">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8251251793611812312">
            <property name="value" value="Remove Extension" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8251251793611812309">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812310">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793612854939">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854946">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854941">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793612854940" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="8251251793612854945">
                <link role="link" targetNodeId="1.8251251793611812086" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="8251251793612854950" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8251251793611812313">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812314">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812315">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854934">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812317">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812316" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="8251251793612854933">
                <link role="link" targetNodeId="1.8251251793611812086" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="8251251793612854938" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8251251793611812333">
    <property name="name" value="ChoiceType_AddAdditionAlternatives" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ChoiceType" />
    <link role="forConcept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8251251793611812334">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812335">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812338">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8251251793611812339">
            <property name="value" value="Add Addition Alternatives" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8251251793611812336">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812337">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812367">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812374">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812369">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812368" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8251251793611812373">
                <link role="link" targetNodeId="1.8251251793611812091" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="8251251793611812378" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8251251793611812340">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812341">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812342">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="8251251793611812349">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="8251251793611812363">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8251251793611812366">
                <property name="value" value="0" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812358">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812353">
                  <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812352" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8251251793611812357">
                    <link role="link" targetNodeId="1.8251251793611812091" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_GetCountOperation" id="8251251793611812362" />
              </node>
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612854954">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812344">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812343" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="8251251793612854953">
                  <link role="link" targetNodeId="1.8251251793611812086" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="8251251793612854958" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="8251251793611812380">
    <property name="name" value="ChoiceType_RemoveAdditionAlternatives" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.ChoiceType" />
    <link role="forConcept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="8251251793611812381">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812382">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812385">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8251251793611812386">
            <property name="value" value="Remove Addition Alternatives" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="8251251793611812383">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812384">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812404">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812411">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812406">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812405" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8251251793611812410">
                <link role="link" targetNodeId="1.8251251793611812091" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="8251251793611812415" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="8251251793611812387">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793611812388">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793611812389">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" id="8251251793611812397">
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812398">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793611812399">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="8251251793611812400" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8251251793611812401">
                  <link role="link" targetNodeId="1.8251251793611812091" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_GetCountOperation" id="8251251793611812402" />
            </node>
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8251251793611812403">
              <property name="value" value="0" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="1919761619489087075">
    <property name="name" value="ObjectSet_AddExtension" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="ObjectSet" />
    <link role="forConcept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="1919761619489087076">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1919761619489087077">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1919761619489087080">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1919761619489087081">
            <property name="value" value="Add Extension" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="1919761619489087078">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1919761619489087079">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1919761619489087107">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1919761619489087114">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="1919761619489087117">
              <property name="value" value="true" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1919761619489087109">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1919761619489087108" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1919761619489087113">
                <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="1919761619489087082">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1919761619489087083">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1919761619489087084">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1919761619489087093">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1919761619489087102">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1919761619489087097">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1919761619489087096" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1919761619489087101">
                  <link role="link" targetNodeId="1.7585540365178904511" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="1919761619489087106" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="1919761619489087091">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1919761619489087086">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="1919761619489087085" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1919761619489087090">
                  <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510441091">
    <property name="name" value="ComponentTypeList_AddExtensionAndException" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="Lists.ComponentTypeList" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510441092">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441093">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441096">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510441097">
            <property name="value" value="Add Extension And Exception" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510441094">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441095">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441115">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441122">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441117">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510441116" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661538">
                <link role="link" targetNodeId="1.6781117154622660739" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315510441126" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510441098">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441099">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441103">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441110">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441105">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510441104" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661537">
                <link role="link" targetNodeId="1.6781117154622660739" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315510441114" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510441131">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_RemoveExtensionAndException" />
    <property name="isErrorIntention" value="false" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510441132">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441133">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441136">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510441137">
            <property name="value" value="Remove Extension And Exception" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510441134">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441135">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441152">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441163">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441154">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510441153" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661557">
                <link role="link" targetNodeId="1.6781117154622660739" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="9152698315510441167">
              <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="9152698315510441170" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510441138">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510441139">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510441140">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441147">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510441142">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510441141" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661556">
                <link role="link" targetNodeId="1.6781117154622660739" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="9152698315510441151" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946596">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_AddExtensionAdditions" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946597">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946598">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946601">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946602">
            <property name="value" value="Add Extension Addtitions" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946599">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946600">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946617">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556579796293">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946619">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946618" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661535">
                <link role="link" targetNodeId="1.6781117154622660740" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="3453644556579796297" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946603">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946604">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946605">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315510946822">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6781117154622661530">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946831">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946826">
                  <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946825" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661528">
                    <link role="link" targetNodeId="1.6781117154622660740" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661529">
                  <link role="link" targetNodeId="1.3453644556579784088" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="6781117154622661534" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946612">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946607">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946606" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661527">
                  <link role="link" targetNodeId="1.6781117154622660739" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="9152698315510946616" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946630">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_RemoveExtensionAdditions" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946631">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946632">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946635">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946636">
            <property name="value" value="Remove Extension Additions" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946633">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946634">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946652">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556579796306">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946654">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946653" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661550">
                <link role="link" targetNodeId="1.6781117154622660740" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="3453644556579796310">
              <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3453644556579796313" />
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315511781006" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315511780992">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315511780993">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315511780994">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511780995">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511780996">
                  <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315511780997" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661553">
                    <link role="link" targetNodeId="1.6781117154622660741" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="9152698315511780999" />
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511781000">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511781001">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315511781002" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661552">
                <link role="link" targetNodeId="1.6781117154622660741" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" id="9152698315511781004" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946637">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946638">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946639">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946646">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946641">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946640" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661549">
                <link role="link" targetNodeId="1.6781117154622660740" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="3453644556579796304" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946665">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_AddExtensionMarker" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946666">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946667">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946670">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946671">
            <property name="value" value="Add Extension Marker" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946668">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946669">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946697">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946708">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946699">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946698" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="6781117154622661542">
                <link role="property" targetNodeId="1.6781117154622660737" resolveInfo="isExtensionMarkerPresent" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9152698315510946712">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="9152698315510946714">
                <property name="value" value="true" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946672">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946673">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946674">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315510946686">
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946681">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946676">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946675" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661540">
                  <link role="link" targetNodeId="1.6781117154622660739" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="9152698315510946685" />
            </node>
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="9152698315510946689">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946692">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946691" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="6781117154622661541">
                  <link role="property" targetNodeId="1.6781117154622660737" resolveInfo="isExtensionMarkerPresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946715">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_RemoveExtensionMarker" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946716">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946717">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946720">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946721">
            <property name="value" value="Remove Extension Marker" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946718">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946719">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946731">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946738">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946733">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946732" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="6781117154622661561">
                <link role="property" targetNodeId="1.6781117154622660737" resolveInfo="isExtensionMarkerPresent" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9152698315510946742">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="9152698315510946744">
                <property name="value" value="false" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315511677245" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315511677231">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315511677232">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315511677233">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511677234">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511677235">
                  <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315511677236" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661563">
                    <link role="link" targetNodeId="1.6781117154622660741" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="9152698315511677238" />
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511677239">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511677240">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315511677241" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661562">
                <link role="link" targetNodeId="1.6781117154622660741" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" id="9152698315511677243" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946722">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946723">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946724">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946726">
            <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946725" />
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="6781117154622661560">
              <link role="property" targetNodeId="1.6781117154622660737" resolveInfo="isExtensionMarkerPresent" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946745">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_AddComponentTypeList" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946746">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946747">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946750">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946751">
            <property name="value" value="Add Component Type List" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946748">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946749">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946775">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946782">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946777">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946776" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661524">
                <link role="link" targetNodeId="1.6781117154622660741" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="9152698315510946786" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946752">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946753">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946754">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315510946761">
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946770">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946765">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946764" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661522">
                  <link role="link" targetNodeId="1.6781117154622660741" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="6781117154622661523" />
            </node>
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315511400678">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6781117154622661514">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6781117154622661509">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511400682">
                    <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315511400681" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661508">
                      <link role="link" targetNodeId="1.6781117154622660740" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661513">
                    <link role="link" targetNodeId="1.3453644556579784088" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" id="6781117154622661521" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946756">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946755" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="6781117154622661506">
                  <link role="property" targetNodeId="1.6781117154622660737" resolveInfo="isExtensionMarkerPresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315510946788">
    <property name="package" value="Lists.ComponentTypeList" />
    <property name="name" value="ComponentTypeList_RemoveComponentTypeList" />
    <property name="isAvailableInChildNodes" value="true" />
    <link role="forConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315510946789">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946790">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946793">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315510946794">
            <property name="value" value="Remove Component Type List" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315510946791">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946792">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946809">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315511124155">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946811">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946810" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661545">
                <link role="link" targetNodeId="1.6781117154622660741" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="9152698315511124159" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315510946795">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315510946796">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315510946797">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946804">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315510946799">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315510946798" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661544">
                <link role="link" targetNodeId="1.6781117154622660741" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" id="9152698315511124154" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513688">
    <property name="name" value="ModuleBody_AddImports" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513689">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513690">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513693">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513694">
            <property name="value" value="Add Imports" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513691">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513692">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513709">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513716">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513711">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513710" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038423">
                <link role="link" targetNodeId="1.4534048328789026147" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315527513720" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513695">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513696">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513697">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513704">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513699">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513698" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038422">
                <link role="link" targetNodeId="1.4534048328789026147" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315527513708" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513722">
    <property name="name" value="ModuleBody_RemoveImports" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513723">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513724">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513727">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513728">
            <property name="value" value="Remove Imports" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513725">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513726">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513743">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513750">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513745">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513744" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038427">
                <link role="link" targetNodeId="1.4534048328789026147" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="9152698315527513754">
              <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="9152698315527513757" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513729">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513730">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513731">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513738">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513733">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513732" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038426">
                <link role="link" targetNodeId="1.4534048328789026147" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="9152698315527513742" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513759">
    <property name="name" value="ModuleBody_AddExports" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513760">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513761">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513764">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513765">
            <property name="value" value="Add Exports" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513762">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513763">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513780">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513787">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513782">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513781" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038431">
                <link role="link" targetNodeId="1.4534048328789026146" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315527513791" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513766">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513767">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513768">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513775">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513770">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513769" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038430">
                <link role="link" targetNodeId="1.4534048328789026146" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315527513779" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513793">
    <property name="name" value="ModuleBody_RemoveExports" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513794">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513795">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513798">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513799">
            <property name="value" value="Remove Exports" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513796">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513797">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513814">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513821">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513816">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513815" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038435">
                <link role="link" targetNodeId="1.4534048328789026146" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="9152698315527513825">
              <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="9152698315527513828" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513800">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513801">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513802">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513809">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513804">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513803" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328789038434">
                <link role="link" targetNodeId="1.4534048328789026146" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="9152698315527513813" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513830">
    <property name="name" value="ModuleBody_AddAssignments" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513831">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513832">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513835">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513836">
            <property name="value" value="Add Assignment List" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513833">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513834">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513852">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513853">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513854">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513855" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4534048328789038439">
                <link role="link" targetNodeId="1.4534048328789026148" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="9152698315527513857" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513837">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513838">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513859">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513866">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513861">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513860" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4534048328789038438">
                <link role="link" targetNodeId="1.4534048328789026148" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="9152698315527513870" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="9152698315527513871">
    <property name="name" value="ModuleBody_RemoveAssignments" />
    <property name="package" value="ModuleDefinition" />
    <link role="forConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="9152698315527513872">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513873">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513876">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315527513877">
            <property name="value" value="Remove Assignments" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="9152698315527513874">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513875">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513894">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513901">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513896">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513895" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4534048328789038443">
                <link role="link" targetNodeId="1.4534048328789026148" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="9152698315527513905" />
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="9152698315527513878">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315527513879">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315527513882">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513889">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527513884">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="9152698315527513883" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4534048328789038442">
                <link role="link" targetNodeId="1.4534048328789026148" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" id="9152698315527513893" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="4135453859679981114">
    <property name="name" value="EnumerationItem_ReplaceWithDefinedValue" />
    <property name="isAvailableInChildNodes" value="true" />
    <property name="package" value="BuiltinType.EnumeratedType" />
    <link role="forConcept" targetNodeId="1.7401774347124493329" resolveInfo="Identifier" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="4135453859679981115">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981116">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981145">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4135453859679981146">
            <property name="value" value="Replace with defined value" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="4135453859679981117">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981118">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981147">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981154">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981149">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981148" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981153">
                <link role="property" targetNodeId="1.4135453859679981087" resolveInfo="isIntegerValue" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4135453859679981158">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4135453859679981160">
                <property name="value" value="false" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="4135453859679981135">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981136">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981137">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4135453859679981138">
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981139">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981140" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981141">
                <link role="property" targetNodeId="1.4135453859679981077" resolveInfo="isValuePresent" />
              </node>
            </node>
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981142">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981143" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981144">
                <link role="property" targetNodeId="1.4135453859679981087" resolveInfo="isIntegerValue" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="4135453859679981161">
    <property name="name" value="EnumerationItem_ReplaceWithIntegerValue" />
    <property name="package" value="BuiltinType.EnumeratedType" />
    <link role="forConcept" targetNodeId="1.7401774347124493329" resolveInfo="Identifier" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="4135453859679981162">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981163">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981166">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4135453859679981167">
            <property name="value" value="Replace with integer value" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="4135453859679981164">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981165">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981180">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981181">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981182">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981183" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981184">
                <link role="property" targetNodeId="1.4135453859679981087" resolveInfo="isIntegerValue" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4135453859679981185">
              <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4135453859679981186">
                <property name="value" value="true" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="isApplicableFunction" type="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" id="4135453859679981168">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981169">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981170">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4135453859679981171">
            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981172">
              <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981173" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981174">
                <link role="property" targetNodeId="1.4135453859679981077" resolveInfo="isValuePresent" />
              </node>
            </node>
            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4135453859679981178">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981175">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="4135453859679981176" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981177">
                  <link role="property" targetNodeId="1.4135453859679981087" resolveInfo="isIntegerValue" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" id="2603314242748768243">
    <property name="name" value="ASNType_AddConstraint" />
    <link role="forConcept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
    <node role="descriptionFunction" type="jetbrains.mps.lang.intentions.structure.DescriptionBlock" id="2603314242748768244">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2603314242748768245">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2603314242748768248">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2603314242748768249">
            <property name="value" value="Add constraint" />
          </node>
        </node>
      </node>
    </node>
    <node role="executeFunction" type="jetbrains.mps.lang.intentions.structure.ExecuteBlock" id="2603314242748768246">
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2603314242748768247">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2603314242748768254">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2603314242748768255">
            <property name="name" value="constrainedType" />
            <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2603314242748768256">
              <link role="concept" targetNodeId="1.1046849219940876040" resolveInfo="ConstrainedType" />
            </node>
            <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2603314242748768257">
              <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="2603314242748768258">
                <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2603314242748768259">
                  <link role="concept" targetNodeId="1.1046849219940876040" resolveInfo="ConstrainedType" />
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2603314242748768260" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2603314242748768261">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2603314242748768262">
            <property name="name" value="replaceType" />
            <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2603314242748768263">
              <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
            </node>
            <node role="initializer" type="jetbrains.mps.baseLanguage.structure.TernaryOperatorExpression" id="2603314242748768264">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2603314242748768265">
                <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2603314242748768266">
                  <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                  <node role="leftExpression" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2603314242748768292" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2603314242748768268">
                  <link role="link" targetNodeId="1.7738428319181554506" />
                </node>
              </node>
              <node role="ifFalse" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2603314242748768293" />
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2603314242748768270">
                <node role="operand" type="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" id="2603314242748768290" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2603314242748768272">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2603314242748768273">
                    <link role="conceptDeclaration" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2603314242748768274">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2603314242748768275">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2603314242748768276">
              <link role="variableDeclaration" targetNodeId="2603314242748768262" resolveInfo="replaceType" />
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="2603314242748768277">
              <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2603314242748768278">
                <link role="variableDeclaration" targetNodeId="2603314242748768255" resolveInfo="constrainedType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2603314242748768279">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2603314242748768280">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2603314242748768281">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2603314242748768282">
                <link role="variableDeclaration" targetNodeId="2603314242748768255" resolveInfo="constrainedType" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2603314242748768283">
                <link role="link" targetNodeId="1.1046849219940876043" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="2603314242748768284">
              <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2603314242748768285">
                <link role="variableDeclaration" targetNodeId="2603314242748768262" resolveInfo="replaceType" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
</model>

